User customizable web advertisements

ABSTRACT

A system and method of providing user customizable web advertisements are disclosed. In some embodiments, the system may include a non-transitory, computer-readable medium storing computer-executable instructions and one or more processors. When the one or more processors execute the computer-executable instructions, the processors may be configured to receive a customizable advertisement, the customizable advertisement having at least one customizable portion. When a customizable portion is selected, the one or more processors may display a plurality of customization options for the at least one customizable portion. The one or more processors may be further configured to receive a selection of a customization option from the plurality of customization options. The one or more processors may then apply the selected customization option to the customizable portion of the customizable advertisement. Afterwards, the one or more processors may then display the customizable advertisement with the selected customization option.

TECHNICAL FIELD

The present application relates generally to the technical field ofproviding user customizable advertisements, and, in various embodiments,to systems and methods of providing user customizable advertisementsthat have customizable and non-customizable portions, and sharing and/orpublishing a user customizable advertisement after having beencustomized.

BACKGROUND

Web advertisements suffer from the lack of an incentive for the user tointeract with the advertisement, which often results in the userignoring the advertisement. Accordingly, increasing a user's interest inan advertisement would result in the user being more likely to interactwith the advertisement and potentially purchase the product and/orservice being advertised.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments of the present disclosure are illustrated by way ofexample and not limitation in the figures of the accompanying drawings,in which like reference numbers indicate similar elements, and in which:

FIG. 1 illustrates a network architecture of an exemplary systemaccording to aspects of the disclosure.

FIG. 2 illustrates exemplary applications executable by one or moreapplication servers according to aspects of the disclosure.

FIG. 3 illustrates an exemplary client machine according to aspects ofthe disclosure.

FIG. 4 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein, according to aspects of the disclosure.

FIG. 5 illustrates a web page having advertising content andnon-advertising content according to aspects of the disclosure.

FIG. 6 illustrates a user customizable web advertisement according toaspects of the disclosure.

FIG. 7 illustrates customizing a first customizable portion of the usercustomizable web advertisement of FIG. 6 according to aspects of thedisclosure.

FIG. 8 illustrates customizing a second customizable portion of the usercustomizable web advertisement of FIG. 6 according to aspects of thedisclosure.

FIG. 9 illustrates customizing a third customizable portion of the usercustomizable web advertisement of FIG. 6 according to aspects of thedisclosure.

FIG. 10 illustrates publication and sharing options that may bepresented to the user after customizing the user customizable webadvertisement of FIG. 6 according to aspects of the disclosure.

FIG. 11 illustrates an exemplary advertisement publication serveraccording to aspects of the disclosure.

FIG. 12A-12C illustrates an exemplary logic flow for customizing a usercustomizable web advertisement according to aspects of the disclosure.

DETAILED DESCRIPTION

The description that follows includes illustrative systems, methods,techniques, instruction sequences, and computing machine programproducts that embody illustrative embodiments. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide an understanding of various embodiments ofthe inventive subject matter. It will be evident, however, to thoseskilled in the art that embodiments of the inventive subject matter maybe practiced without these specific details. In general, well-knowninstruction instances, protocols, structures, and techniques have notbeen shown in detail.

The present disclosure is directed to systems and methods for providinguser customizable web advertisements. One of the challenges in providingadvertisements to users is providing an advertisement that engages theuser and encourages the user to select the advertisement, therebypresenting the advertised product and/or service to the user.Traditionally, an advertisement presented on a web page includesnon-customizable elements, e.g., an image, a sound, text, and other suchnon-customizable elements. The systems and methods disclosed hereinprovide a mechanism by which a user customizable advertisement may bedeployed and, further, how the advertisement may be shared or publishedto other users after the advertisement is customized.

In one embodiment a computer-implemented method is disclosed that mayinclude receiving, by at least one processor, a customizableadvertisement, the customizable advertisement having at least onecustomizable portion and displaying, by a display in communication withthe at least one processor, a plurality of customization options for theat least one customizable portion. The 444 method may also includereceiving, by an input interface in communication with the at least oneprocessor, a selection of a customization option from the plurality ofcustomization options and applying the selected customization option tothe customizable portion of the customizable advertisement. The methodmay further include displaying the customizable advertisement with theselected customization option.

In another embodiment, the at least one customizable portion may includea soundtrack playable by the at least one processor during the displayof the customizable advertisement.

In a further embodiment, the plurality of customization options mayinclude a plurality of songs, and applying the selected customizationoption to the at least one customizable portion of the customizableadvertisement comprises playing a song selected from the plurality ofsongs as the soundtrack for the customizable advertisement.

In yet another embodiment of the method, the at least one customizableoption comprises an animation path that a graphical element of thecustomizable advertisement follows during the display of thecustomizable advertisement.

In yet a further embodiment of the method, the plurality ofcustomization options includes a plurality of locations within thecustomizable advertisement where the graphical element is displayableduring the display of the customizable advertisement.

In another embodiment of the method, the customizable advertisement isselected based on one or more items being sold at an electronicmarketplace that a user has previously viewed.

In a further embodiment of the method, the method may include receivinga selection to publish the customizable advertisement with the selectedcustomization option, the selection to publish the customizableadvertisement causing the at least one processor to transmit whichcustomization option was selected to a publication server, thepublication server providing the customizable advertisement with thecustomization option to one or more users for viewing.

In yet another embodiment of the method, the method may includereceiving a selection to share the customizable advertisement with theselected customization option, the selection to share the customizableadvertisement causing the at least one processor to display a UniformResource Locator where the customizable advertisement with the selectedcustomization option is accessible by one or more users.

The following disclosure also provides for a system that may include anon-transitory, computer-readable medium storing computer-executableinstructions and one or more processors that, having executedcomputer-executable instructions, are configured to receive acustomizable advertisement, the customizable advertisement having atleast one customizable portion, and display, by a display incommunication with the one or more processors, a plurality ofcustomization options for the at least one customizable portion. The oneor more processors may be further configured to receive, by an inputinterface in communication with the one or more processors, a selectionof a customization option from the plurality of customization options.In addition, the one or more processors may be configured to apply theselected customization option to the customizable portion of thecustomizable advertisement and display the customizable advertisementwith the selected customization option.

In another embodiment of the system, the at least one customizableportion comprises a soundtrack playable by the one or more processorsduring the display of the customizable advertisement.

In a further embodiment of the system, the plurality of customizationoptions include a plurality of songs, and applying the selectedcustomization option to the at least one customizable portion of thecustomizable advertisement comprises playing a song selected from theplurality of songs as the soundtrack for the customizable advertisement.

In yet another embodiment of the system, the at least one customizableoption comprises an animation path that a graphical element of thecustomizable advertisement follows during the display of thecustomizable advertisement.

In yet a further embodiment of the system, the plurality ofcustomization options includes a plurality of locations within thecustomizable advertisement where the graphical element is displayableduring the display of the customizable advertisement.

In another embodiment of the system, the customizable advertisement isselected based on one or more items being sold at an electronicmarketplace that a user has previously viewed.

In a further embodiment of the system, the one or more processors arefurther configured to receive a selection to publish the customizableadvertisement with the selected customization option, the selection topublish the customizable advertisement causing the one or moreprocessors to transmit which customization option was selected to apublication server, the publication server providing the customizableadvertisement with the customization option to one or more users forviewing.

In yet another embodiment of the system, the one or more processors areconfigured to receive a selection to share the customizableadvertisement with the selected customization option, the selection toshare the customizable advertisement causing the one or more processorsto display a Uniform Resource Locator where the customizableadvertisement with the selected customization option is accessible byone or more users.

A non-transitory machine-readable storage medium is also disclosed,wherein the non-transitory machine-readable storage medium may store aset of instructions that, when executed by at least one processor,causes the at least one processor to perform a method. The method mayinclude receiving, by at least one processor, a customizableadvertisement, the customizable advertisement having at least onecustomizable portion, and displaying, by a display in communication withthe at least one processor, a plurality of customization options for theat least one customizable portion. The method may also includereceiving, with an input interface in communication with the at leastone processor, a selection of a customization option from the pluralityof customization options, and applying, with the at least one processor,the selected customization option to the customizable portion of thecustomizable advertisement. The method may further include displaying,with the display, the customizable advertisement with the selectedcustomization option.

In another embodiment of the non-transitory, computer-readable storagemedium, the at least one customizable portion may include a soundtrackplayable by the at least one processor during the display of thecustomizable advertisement, the plurality of customization options mayinclude a plurality of songs, and the method may include applying theselected customization option to the at least one customizable portionof the customizable advertisement comprises playing a song selected fromthe plurality of songs as the soundtrack for the customizableadvertisement.

In another embodiment of the non-transitory, computer-readable storagemedium, the at least one customizable option may include an animationpath that a graphical element of the customizable advertisement followsduring the display of the customizable advertisement, and the pluralityof customization options may include a plurality of locations within thecustomizable advertisement where the graphical element is displayableduring the display of the customizable advertisement.

In a further embodiment of the non-transitory, computer-readable storagemedium, the method may include receiving a selection to publish thecustomizable advertisement with the selected customization option, theselection to publish the customizable advertisement causing the at leastone processor to transmit which customization option was selected to apublication server, the publication server providing the customizableadvertisement with the customization option to one or more users forviewing.

The methods or embodiments disclosed herein may be implemented as acomputer system having one or more modules (e.g., hardware modules orsoftware modules). Such modules may be executed by one or moreprocessors of the computer system. The methods or embodiments disclosedherein may be embodied as instructions stored on a machine-readablemedium that, when executed by one or more processors, cause the one ormore processors to execute the instructions.

FIG. 1 is a network diagram depicting a client-server system 100according to aspects of the disclosure. A networked system 102, in theexample forms of a network-based marketplace or publication system,provides server-side functionality, via a network 104 (e.g., theInternet or a Wide Area Network (WAN)) to one or more client machines.FIG. 1 illustrates, for example, a web client 106 (e.g., a browser, suchas the Internet Explorer browser developed by Microsoft Corporation ofRedmond, Washington State) and a programmatic client 108 executing onrespective client machines 110 and 112.

An API server 114 and a web server 116 are coupled to, and provideprogrammatic and web interfaces respectively to, one or more applicationservers 118. The application servers 118 host one or more applications,such as a marketplace application 120, a payment application 122, and anadvertisement application 132. The application servers 118 are, in turn,shown to be coupled to one or more database servers 124 that facilitateaccess to one or more databases 126.

The application server 118 may also be in communication with one or moreadvertisement publication servers 134. An advertisement publicationserver 134 may facilitate the publication and/or distribution of theuser customizable advertisements, such as when a user has finishedcustomizing a customizable advertisement and has indicated a desire toshare the customized advertisement with other users. In addition, theadvertisement publication server 134 may be in communication with thedatabase server 124 to retrieve and/or store content for a usercustomizable advertisement. For example, the advertisement publicationserver 134 may retrieve graphical content, audio content, programmaticcontent, etc., from the one or more databases 126 via the databaseserver 124. Furthermore, the database server 124 may facilitate thestorage and/or retrieval of the customization options selected by auser.

The marketplace application 120 may provide a number of marketplacefunctions and services to users who access the networked system 102. Thepayment application 122 may likewise provide a number of paymentservices and functions to users. The payment application 122 may allowusers to accumulate value (e.g., in a commercial currency, such as theU.S. dollar, or a proprietary currency, such as “points”) in accounts,and then later to redeem the accumulated value for products (e.g., goodsor services) that are made available via the marketplace application120.

The application server 118 may also include an advertisement application132 to facilitate the deployment and/or display of one or more usercustomizable advertisements. Thus, when a web page is requested orinformation about an item of interest is requested (e.g., a product,service, location, etc.), the advertisement application 132 may beconfigured to provide a customizable advertisement along with therequested web page or information about the item of interest. The usercustomizable advertisement may include may include various customizableand non-customizable portions. For example, a user customizableadvertisement may include graphical content (e.g., fonts, pictures,movies, etc.), audio content (e.g., soundtracks, sound effects, etc.),programmatic content (e.g., timing information, animation paths, etc.),other such types of content, or combinations thereof. The advertisementapplications 132 may select one or more user customizable advertisementsfor display to the user, such as by inserting said one or more usercustomizable advertisements in a web page to be viewed by the user.

While the marketplace application 120, the payment application 122, andthe advertisement application 132, are shown in FIG. 1 to form part ofthe networked system 102, it will be appreciated that, in alternativeembodiments, the applications 120,122,132 may be separate or distinctfrom the system 102. For example, the payment application 122 may formpart of a payment service that is separate and distinct from thenetworked system 102.

Further, while the system 100 shown in FIG. 1 employs a client-serverarchitecture, the embodiments are, of course not limited to such anarchitecture, and could equally well find application in a distributed,or peer-to-peer, architecture system, for example. The marketplaceapplication 120, the payment application 120, the advertisementapplication 132 could also be implemented as standalone softwareprograms, which do not necessarily have networking capabilities.

The web client 106 may access the marketplace application 120, thepayment application, 122, and the advertisement application 132 via theweb interface supported by the web server 116. Similarly, theprogrammatic client 108 may access the various services and functionsprovided by the applications 120,122,132 via the programmatic interfaceprovided by the API server 114. The programmatic client 108 may, forexample, be a seller application (e.g., the TurboLister applicationdeveloped by eBay Inc., of San Jose, Calif.) to enable sellers to authorand manage listings on the networked system 102 in an off-line manner,and to perform batch-mode communications between the programmatic client108 and the networked system 102.

FIG. 1 also illustrates a third party application 128, executing on athird party server machine 130, as having programmatic access to thenetworked system 102 via the programmatic interface provided by the APIserver 114. For example, the third party application 128 may, utilizinginformation retrieved from the networked system 102, support one or morefeatures or functions on a website hosted by the third party. The thirdparty website may, for example, provide one or more promotional,marketplace, payment, or advertising functions that are supported by therelevant applications of the networked system 102.

The networked system 102 may provide a number of publishing, listing,and price-setting mechanisms whereby a seller may list (or publishinformation concerning) goods or services for sale, a buyer can expressinterest in or indicate a desire to purchase such goods or services, anda price can be set for a transaction pertaining to the goods orservices. FIG. 2 illustrates exemplary applications that may beexecutable by the foregoing application server(s) 118 to support theaforementioned mechanisms. To this end, the marketplace and paymentapplications 120 and 122 are shown to include at least one publicationapplication 200 and one or more auction applications 202, which supportauction-format listing and price setting mechanisms (e.g., English,Dutch, Vickrey, Chinese, Double, Reverse auctions etc.). The variousauction applications 202 may also provide a number of features insupport of such auction-format listings, such as a reserve price featurewhereby a seller may specify a reserve price in connection with alisting and a proxy-bidding feature whereby a bidder may invokeautomated proxy bidding.

A number of fixed-price applications 204 support fixed-price listingformats (e.g., the traditional classified advertisement-type listing ora catalogue listing) and buyout-type listings. Specifically, buyout-typelistings (e.g., including the Buy-It-Now (BIN) technology developed byeBay Inc., of San Jose, Calif.) may be offered in conjunction withauction-format listings, and allow a buyer to purchase goods orservices, which are also being offered for sale via an auction, for afixed-price that is typically higher than the starting price of theauction.

Store applications 206 allow a seller to group listings within a“virtual” store, which may be branded and otherwise personalized by andfor the seller. Such a virtual store may also offer promotions,incentives, and features that are specific and personalized to arelevant seller.

Reputation applications 208 allow users who transact, utilizing thenetworked system 102, to establish, build, and maintain reputations,which may be made available and published to potential trading partners.Consider that where, for example, the networked system 102 supportsperson-to-person trading, users may otherwise have no history or otherreference information whereby the trustworthiness and credibility ofpotential trading partners may be assessed. The reputation applications208 allow a user (e.g., through feedback provided by other transactionpartners) to establish a reputation within the networked system 102 overtime. Other potential trading partners may then reference such areputation for the purposes of assessing credibility andtrustworthiness.

Personalization applications 210 allow users of the networked system 102to personalize various aspects of their interactions with the networkedsystem 102. For example a user may, utilizing an appropriatepersonalization application 210, create a personalized reference page onwhich information regarding transactions to which the user is (or hasbeen) a party may be viewed. Further, a personalization application 210may enable a user to personalize listings and other aspects of theirinteractions with the networked system 102 and other parties.

The networked system 102 may support a number of marketplaces that arecustomized, for example, for specific geographic regions. A version ofthe networked system 102 may be customized for the United Kingdom,whereas another version of the networked system 102 may be customizedfor the United States. Each of these versions may operate as anindependent marketplace or may be customized (or internationalized)presentations of a common underlying marketplace. The networked system102 may, accordingly, include a number of internationalizationapplications 212 that customize information (and/or the presentation ofinformation) by the networked system 102 according to predeterminedcriteria (e.g., geographic, demographic or marketplace criteria). Forexample, the internationalization applications 212 may be used tosupport the customization of information for a number of regionalwebsites that are operated by the networked system 102 and that areaccessible via respective web servers 116.

Navigation of the networked system 102 may be facilitated by one or morenavigation applications 214. For example, a search application (as anexample of a navigation application 214) may enable key word searches oflistings published via the networked system 102. A browse applicationmay allow users to browse various category, catalogue, or inventory datastructures according to which listings may be classified within thenetworked system 102. Various other navigation applications 214 may beprovided to supplement the search and browsing applications.

In order to make the listings available via the networked system 102, asvisually informing and attractive as possible, the applications 120 and122 may include one or more imaging applications 216, which users mayutilize to upload images for inclusion within listings. An imagingapplication 216 also operates to incorporate images within viewedlistings. The imaging applications 216 may also support one or morepromotional features, such as image galleries that are presented topotential buyers. For example, sellers may pay an additional fee to havean image included within a gallery of images for promoted items.

Listing creation applications 218 allow sellers to conveniently authorlistings pertaining to goods or services that they wish to transact viathe networked system 102, and listing management applications 220 allowsellers to manage such listings. Specifically, where a particular sellerhas authored and/or published a large number of listings, the managementof such listings may present a challenge. The listing managementapplications 220 provide a number of features (e.g., auto-relisting,inventory level monitors, etc.) to assist the seller in managing suchlistings. One or more post-listing management applications 222 alsoassist sellers with a number of activities that typically occurpost-listing. For example, upon completion of an auction facilitated byone or more auction applications 202, a seller may wish to leavefeedback regarding a particular buyer. To this end, a post-listingmanagement application 222 may provide an interface to one or morereputation applications 208, so as to allow the seller conveniently toprovide feedback regarding multiple buyers to the reputationapplications 208.

Dispute resolution applications 224 provide mechanisms whereby disputesarising between transacting parties may be resolved. For example, thedispute resolution applications 224 may provide guided procedureswhereby the parties are guided through a number of steps in an attemptto settle a dispute. In the event that the dispute cannot be settled viathe guided procedures, the dispute may be escalated to a third partymediator or arbitrator.

A number of fraud prevention applications 226 implement fraud detectionand prevention mechanisms to reduce the occurrence of fraud within thenetworked system 102.

Messaging applications 228 are responsible for the generation anddelivery of messages to users of the networked system 102, such as, forexample, messages advising users regarding the status of listings at thenetworked system 102 (e.g., providing “outbid” notices to bidders duringan auction process or to providing promotional and merchandisinginformation to users). Respective messaging applications 228 may utilizeany one of a number of message delivery networks and platforms todeliver messages to users. For example, messaging applications 228 maydeliver electronic mail (e-mail), instant message (IM), Short MessageService (SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP))messages via the wired (e.g., the Internet), Plain Old Telephone Service(POTS), or wireless (e.g., mobile, cellular, WiFi, WiMAX) networks.

Merchandising applications 230 support various merchandising functionsthat are made available to sellers to enable sellers to increase salesvia the networked system 102. The merchandising applications 230 alsooperate the various merchandising features that may be invoked bysellers, and may monitor and track the success of merchandisingstrategies employed by sellers.

The networked system 102 itself, or one or more parties that transactvia the networked system 102, may operate loyalty programs that aresupported by one or more loyalty/promotions applications 232. Forexample, a buyer may earn loyalty or promotion points for eachtransaction established and/or concluded with a particular seller, andbe offered a reward for which accumulated loyalty points can beredeemed.

Furthermore, and referring back to FIG. 1, the advertisement application132 may leverage one or more of the applications 200-232 in providingcustomizable advertisements to users. In other words, the advertisementapplication 132 may invoke or use data gathered by the applications200-232 in selecting which advertisement to provide to a user or inselecting which customizable options are available to the user. Forexample, the advertisement application 132 may use customizationinformation obtained by the internationalization applications 212 todetermine a region-specific advertisement to provide. Where a user orseller indicates that he/she is located in the United States, theadvertisement application 132 may select an advertisement designed forthe U.S. consumer. As another example, the advertisement application 132may leverage the auction applications 202 to obtain information about aproduct being auctioned, e.g., a vehicle or other item, and select anadvertisement that is complementary with the product being auction,e.g., a comparable vehicle or vehicle accessory. As yet a furtherexample, the advertisement application 132 may leverage the storeapplication(s) 206 to select an advertisement that complements theproducts being sold by a virtual store. Alternatively, in using theinformation from the store application 206, the advertisementapplication 132 may select an advertisement that offers a product orservice in competition with a product or service being offered by avirtual store.

Furthermore, as the provided advertisement is customizable, the contentof the customizable portions of the advertisement may be selected basedon the information and/or data obtained from one or more of theapplications 200-232. For example, where a customizable portion of theadvertisement is a soundtrack, the advertisement application 132 mayleverage the internationalization application 212 to provideregion-appropriate soundtrack options. Similarly, where the customizableportion of the advertisement is a graphic, the advertisement application132 may leverage the personalization application 210 and/or the storeapplication 206 to select graphic options that would be desirable to theuser (e.g., where the user's history indicates past purchases or viewsof exotic cars, the customization options may include graphics ofvarious exotic cars).

As the advertisement application 132 is integrated (e.g., directly orindirectly) with the application sever 118, the advertisementapplication 132 is able to leverage the data obtained from theapplications 200-232 and provide contextualized advertisements havingcustomizable portions that are more likely to be relevant to a user(e.g., a buyer or a seller). Thus, the advertisement applicationprovides an advantage over other advertisement distribution mechanismsbecause it provides customizable advertisements tailored to a specificuser or web page being viewed by the user.

FIG. 3 illustrates one example of a client machine 110 in accordancewith aspects of the disclosure. In one embodiment, the client machine110 may be a mobile device. The mobile device may include a processor302. The processor 302 may be any of a variety of different types ofcommercially available processors suitable for mobile devices (e.g., anARM architecture microprocessor, a Microprocessor without InterlockedPipeline Stages (MIPS) architecture processor, or another type ofprocessor). A memory 304, such as a random access memory (RAM), a Flashmemory, or other type of memory, is typically accessible to theprocessor 302. The memory 304 may be adapted to store an operatingsystem (OS) 306, as well as application programs 308, such as a mobilelocation enabled application that can provide location-based services auser. The processor 302 may be coupled, either directly or viaappropriate intermediary hardware, to a display 310 and to one or moreinput/output (I/O) devices 312, such as a keypad, a touch panel sensor,a microphone, and the like. Similarly, in some embodiments, theprocessor 302 can be coupled to a transceiver 314 that interfaces withan antenna 316. The transceiver 314 may be configured to both transmitand receive cellular network signals, wireless data signals, or othertypes of signals via the antenna 316, depending on the nature of themobile device 900. Further, in some configurations, a GPS receiver 318may also make use of the antenna 316 to receive GPS signals.

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. Modules may constitute eithersoftware modules (e.g., code embodied on a machine-readable medium or ina transmission signal) or hardware modules. A hardware module is atangible unit capable of performing certain operations and may beconfigured or arranged in a certain manner. In example embodiments, oneor more computer systems (e.g., a standalone, client, or server computersystem) or one or more hardware modules of a computer system (e.g., aprocessor or a group of processors) may be configured by software (e.g.,an application or application portion) as a hardware module thatoperates to perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module maycomprise dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain operations. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term “hardware module” should be understood toencompass a tangible entity, be that an entity that is physicallyconstructed, permanently configured (e.g., hardwired) or temporarilyconfigured (e.g., programmed) to operate in a certain manner and/or toperform certain operations described herein. Considering embodiments inwhich hardware modules are temporarily configured (e.g., programmed),each of the hardware modules need not be configured or instantiated atany one instance in time. For example, where the hardware modulescomprise a general-purpose processor configured using software, thegeneral-purpose processor may be configured as respective differenthardware modules at different times. Software may accordingly configurea processor, for example, to constitute a particular hardware module atone instance of time and to constitute a different hardware module at adifferent instance of time.

Hardware modules can provide information to, and receive informationfrom, other hardware modules. Accordingly, the described hardwaremodules may be regarded as being communicatively coupled. Where multipleof such hardware modules exist contemporaneously, communications may beachieved through signal transmission (e.g., over appropriate circuitsand buses) that connect the hardware modules. In embodiments in whichmultiple hardware modules are configured or instantiated at differenttimes, communications between such hardware modules may be achieved, forexample, through the storage and retrieval of information in memorystructures to which the multiple hardware modules have access. Forexample, one hardware module may perform an operation and store theoutput of that operation in a memory device to which it iscommunicatively coupled. A further hardware module may then, at a latertime, access the memory device to retrieve and process the storedoutput. Hardware modules may also initiate communications with input oroutput devices and can operate on a resource (e.g., a collection ofinformation).

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods described herein may be at least partiallyprocessor-implemented. For example, at least some of the operations of amethod may be performed by one or more processors orprocessor-implemented modules. The performance of certain of theoperations may be distributed among the one or more processors, not onlyresiding within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of theoperations may be performed by a group of computers (as examples ofmachines including processors), these operations being accessible via anetwork (e.g., the network 104 of FIG. 1) and via one or moreappropriate interfaces (e.g., APIs).

Example embodiments may be implemented in digital electronic circuitry,or in computer hardware, firmware, software, or in combinations of them.Example embodiments may be implemented using a computer program product,e.g., a computer program tangibly embodied in an information carrier,e.g., in a machine-readable medium for execution by, or to control theoperation of, data processing apparatus, e.g., a programmable processor,a computer, or multiple computers.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a stand-alone program or as a module, subroutine,or other unit suitable for use in a computing environment. A computerprogram can be deployed to be executed on one computer or on multiplecomputers at one site or distributed across multiple sites andinterconnected by a communication network.

In example embodiments, operations may be performed by one or moreprogrammable processors executing a computer program to performfunctions by operating on input data and generating output. Methodoperations can also be performed by, and apparatus of exampleembodiments may be implemented as, special purpose logic circuitry(e.g., a FPGA or an ASIC).

A computing system can include clients and servers. A client and serverare generally remote from each other and typically interact through acommunication network. The relationship of client and server arises byvirtue of computer programs running on the respective computers andhaving a client-server relationship to each other. In embodimentsdeploying a programmable computing system, it will be appreciated thatboth hardware and software architectures merit consideration.Specifically, it will be appreciated that the choice of whether toimplement certain functionality in permanently configured hardware(e.g., an ASIC), in temporarily configured hardware (e.g., a combinationof software and a programmable processor), or a combination ofpermanently and temporarily configured hardware may be a design choice.Below are set out hardware (e.g., machine) and software architecturesthat may be deployed, in various example embodiments. It is contemplatedthat any features of any embodiments disclosed herein can be combinedwith any other features of any other embodiments disclosed herein.Accordingly, these any such hybrid embodiments are within the scope ofthe present disclosure.

FIG. 4 is a block diagram illustrating components of a machine,according to some example embodiments, able to read instructions from amachine-readable medium and perform any one or more of the methodologiesdiscussed herein, according to aspects of the disclosure. In particular,FIG. 4 illustrates an exemplary computer system 400 within whichinstructions 424for causing the machine to perform any one or more ofthe methodologies discussed herein may be executed. In alternativeembodiments, the machine operates as a standalone device or may beconnected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in a server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting instructions (sequential or otherwise) that specify actions tobe taken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein.

The example computer system 400 includes a processor 402 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 404 and a static memory 406, which communicate witheach other via a bus 408. The computer system 400 may further include avideo display unit 410 (e.g., a liquid crystal display (LCD) or acathode ray tube (CRT)). The computer system 400 also includes analphanumeric input device 412 (e.g., a keyboard), a user interface (UI)navigation (or cursor control) device 414 (e.g., a mouse), a disk driveunit 416, a signal generation device 418 (e.g., a speaker) and a networkinterface device 420.

The disk drive unit 416 includes a non-transitory machine-readablemedium 422 on which is stored one or more sets of data structures andinstructions 424 (e.g., software) embodying or utilized by any one ormore of the methodologies or functions described herein. Theinstructions 424 may also reside, completely or at least partially,within the main memory 404 and/or within the processor 402 duringexecution thereof by the computer system 400, the main memory 404 andthe processor 402 also constituting non-transitory, machine-readablemedia. The instructions 424 may also reside, completely or at leastpartially, within the static memory 406.

While the machine-readable medium 422 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore instructions 424 or data structures. The term “machine-readablemedium” shall also be taken to include any tangible medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine and that cause the machine to perform any one or more of themethodologies of the present embodiments, or that is capable of storing,encoding or carrying data structures utilized by or associated with suchinstructions. The term “machine-readable medium” shall accordingly betaken to include, but not be limited to, solid-state memories, andoptical and magnetic media. Specific examples of machine-readable mediainclude non-volatile memory, including by way of example semiconductormemory devices (e.g., Erasable Programmable Read-Only Memory (EPROM),Electrically Erasable Programmable Read-Only Memory (EEPROM), and flashmemory devices); magnetic disks such as internal hard disks andremovable disks; magneto-optical disks; and compact disc-read-onlymemory (CD-ROM) and digital versatile disc (or digital video disc)read-only memory (DVD-ROM) disks.

The instructions 424 may further be transmitted or received over acommunications network 426 using a transmission medium. The instructions424 may be transmitted using the network interface device 420 and anyone of a number of well-known transfer protocols (e.g., HTTP). Examplesof communication networks include a LAN, a WAN, the Internet, mobiletelephone networks, POTS networks, and wireless data networks (e.g.,WiFi and WiMax networks). The term “transmission medium” shall be takento include any intangible medium capable of storing, encoding, orcarrying instructions for execution by the machine, and includes digitalor analog communications signals or other intangible media to facilitatecommunication of such software.

FIG. 5 illustrates a web page 502 having advertising content andnon-advertising content according to aspects of the disclosure. The webpage 502 may be transmitted by the network system 102 in reply to arequest for the web page by one or more of the client machines 110-112and/or the third-party server 130. As shown in FIG. 5, the web page 502is a homepage for a website, namely, ebay.com®. However, the providedweb page 502 may be a web page for any portion of the web site visitableby the user, including a web page for a virtual store, a web page for aproduct and/or service being auctioned, a web page provided in responseto a search for a product and/or service, and other such web pages.

The advertising content of the web page 502 may include variousadvertisements provided by the advertisement application 132. In oneembodiment, the advertisement application 132 may transmit a usercustomizable advertisement 504 that is then embedded in the web page502. Exemplary technologies for embedding the user customizableadvertisement 504 include HTML5 and Adobe Flash. Of course, othertechnologies that provide a multimedia experience and accept user inputmay also be used, such as Microsoft Silverlight or a JAVA applet.

As discussed previously, the selection of the user customizableadvertisement 504 may be based on one or more factors, such as theregion of the user, the particular web page being viewed at the time,and one or more user preferences. As a user may provide logincredentials to the web site, the advertisement application 132 mayselect and/or provide a user customizable advertisement 504 based on theprovided login credentials. The information accessible by theadvertisement application 132 based on the login credentials may includeinformation previously provided by the user, such as geolocationinformation (e.g., a hometown or other address), information obtained byother applications (e.g., products and/or services previously viewed bythe user via one or more marketplace application(s) 120, products and/orservices previously purchased by the user via one or more paymentapplication(s) 122, etc.), and other such information.

FIG. 6 illustrates the user customizable advertisement 504 that may beembedded into a web page (e.g., web page 502). As discussed previously,the user customizable advertisement 504 may include customizableportions 602-606 and non-customizable portions. Examples ofnon-customizable portions may include background elements (e.g., colors,graphics, sound, etc.), foreground elements (e.g., graphics, text,sound, etc.), and other such elements. Customizable portions may includeany combination of objects used in the customizable advertisement, suchas text (including formatting and substantive content), graphics, video,sound, programmatic elements (e.g., animation paths, timing controls,etc.), and other such objects. As shown in FIG. 6, the customizableportions 602-606 of the customizable advertisement 504 include a textobject 602, a soundtrack 604 (which may be playing during the display ofthe customizable advertisement 504), and a graphic object 606.

The portions of the customizable advertisement 504 that are selected ascustomizable may be predetermined or selected based on various factors.In one embodiment, the customizable advertisement 504 is designed withone or more customizable portions such that the customizableadvertisement 504 is provided to one or more client machines with thedesigned customizable portions. In other embodiment, the portions of thecustomizable advertisement that are selected as customizable may bebased on the client machine. For example, a mobile device may beprovided with a customizable advertisement that has less or differentcustomizable portions than a customizable advertisement provided to adesktop computer. As one of ordinary skill in the art would understand,a mobile device typically has less computing resources available to itthan a desktop computer (e.g., slower processor, smaller display,smaller or less speakers, etc.).

When the client machine initially requests the web page, the clientmachine may provide an identifier of the web browser making the request.The web browser identifier may signal to the advertisement application132 the type of client machine making the request, e.g., a mobiledevice, a laptop computer, a desktop computer, a tablet computer, etc.The advertisement application 132 would then provide the customizableadvertisement 504 having customizable portions based on the receivedidentifier. In one embodiment, the customizable portions of thecustomizable advertisement 504 may be associated with variousidentifiers, such that the received identifier is matched or comparedwith the identifiers associated with the customizable portions. In oneexample, the customizable portions may be associated with theircorresponding identifiers using a key/value pairing and stored in one ormore databases 126. In this manner, the customizable portioncorresponding to the text object 602 may be associated with a desktopcomputer identifier and a mobile device identifier, but the customizableportion corresponding to the soundtrack object 604 may be associatedwith the desktop computer identifier. Thus, when a web browser executingon a desktop computer requests the web page, the advertisementapplication 132 may provide the customizable advertisement with the textobject 602 and soundtrack object 604 as customizable portions, but whena web browser executing on a mobile device requests the web page, theadvertisement application 132 may provide the customizable advertisementwith only the text object 602 as a customizable portion. While thecustomizable advertisement 504 may still have a soundtrack when it isdelivered to the web browser of the mobile device, the soundtrack maynot be customizable.

Furthermore, the identifier associated with the customizable portionneed not be a generic identifier (e.g., mobile device, desktop computer,etc.) but may be specific to a given make and/or model of client machine(e.g., a specific make/model of mobile device, a specific make/model ofdesktop computer). Accordingly, a mobile device made today may have morecomputing resources, and thus may support more customizable portions,than a mobile device manufactured several years ago.

FIGS. 7-9 illustrate various customizable options selectable by a userfor a corresponding customizable portion. As shown in FIG. 7, a user maybe presented with one or more soundtrack options 702 when the soundtrackobject 604 is selected. As shown in FIG. 8, a user may be presented withone or more textual options 802 when the text object 602 is selected.The textual options may include substantive options (e.g., changing thesubstance of the text shown in the text object 602), formatting options(e.g., changing the font or font size used to the display the textobject 602), or combinations thereof. As shown in FIG. 9, a user may bepresented with one or more graphical options 902 when the graphic object606 is selected. The graphical options 902 may include formattingoptions (e.g., the placement of the graphic object 606, the size of thegraphic object 606, etc.), substantive options (e.g., the color of thegraphic object 606, the actual graphic used in displaying the graphicobject 606, etc.) or combinations thereof.

After the customization options are selected, the customizableadvertisement 504 may be displayed on the client machine with theselected customization options. Furthermore, the customization optionsthat are selected may be stored on the client machine for futurereference or use by the advertisement application 132. In oneembodiment, each of the customization options may be associated with acorresponding customization identifier, and the one or morecustomization identifiers may be stored on the client machine, such asin a browser cookie, file, or other storage mechanism. In this manner,the client machine does not need to store the assets used in displayingthe customizable advertisement (i.e., the graphics, sounds, texts,programmatic content, etc.), but only an identifier corresponding to theselected customization option. Furthermore, the selected customizationoptions may be used to automatically configure future advertisements forthat same user (e.g., if “Jazz” is selected as a music option for agiven advertisement, that selection may be used to provideadvertisements having similar music or to select similar music as adefault option when providing other advertisements).

Furthermore, in later displays of the customizable advertisement, theadvertisement application 132 may retrieve the customization identifiersstored in the browser cookie (or other storage mechanism), and apply thecustomization options corresponding to those identifiers in thelater-displayed advertisement. Thus, when the customizable advertisementis displayed, the user is shown a customizable advertisement with thecustomization options already applied. While the user may choose tochange those customization options, this implementation has theadvantage of providing an advertisement having features that the userhas already found desirable or likeable.

In addition, other customizable advertisements (e.g., different oralternative customizable advertisements) may have customizable optionsthat are associated with the selected customization identifiers. Thus,when the different or alternative customizable advertisements aredisplayed, the different or alternative customizable advertisements aredisplayed with customization options that the user may find desirable orenjoyable.

Moreover, as customization identifiers are stored on the client machinewhile the advertisement assets may remain on a server or database (e.g.,application server 118, advertisement publication server 134,database(s) 126, etc.), this implementation has the advantage ofreducing the computing resources needed by the client machine to retainthe customization options selected by the user. However, in alternativeimplementations, the assets for the customizable advertisement may bestored on the client machine, such as where it is determined that theclient machine has the resources to retain such assets.

After the display of the customized advertisement 504 is complete, orany time the user is satisfied with the customized options selected forthe customized advertisement 504, the user may elect to publish or sharethe customized advertisement 504. FIG. 10 illustrates exemplarypublication and sharing options that may be presented to the useraccording to aspects of the disclosure. In one embodiment, where apublication option 1002 is selected, the customized advertisement iscommunicated to the advertisement publication server 134 such that thecustomized advertisement 504 may be viewable by other users. Inparticular, the client machine may transmit the customizationidentifiers corresponding to the selected customization options to theadvertisement publication server 134, and the advertisement publicationserver 134 may provide a customized advertisement have the selectedcustomization options based on the transmitted customizationidentifiers.

In another embodiment, where the sharing option 1004 is selected, thecustomized advertisement may be communicated to the advertisementpublication server 134 as discussed above, and the user may be providedwith a Uniform Resource Locator (URL) where the customized advertisementmay be located. The provided URL may be unique to the user and/or thecustomized advertisement such that, when the URL is entered into a webbrowser, the web browser is directed to the customized advertisementhosted by the advertisement publication server 134. In this manner, theuser may share his or her customized advertisement with other users.

FIG. 11 illustrates an exemplary advertisement publication serveraccording to aspects of the disclosure. In particular, FIG. 4 shows thatthe advertisement publication server 134 may have one or moreapplications 1010 that cause the advertisement publication server 134 toperform any one or more of the methodologies discussed herein, Theadvertisement publications server 134 may operate as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the advertisement publication server 134 may operate in thecapacity of a server or a client machine in a server-client networkenvironment, or as a peer machine in a peer-to-peer (or distributed)network environment.

The advertisement publication server 134 may include one or moreprocessors 1002 (e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU) or both), one or more network interface(s) 1004,and a non-transitory, computer-readable memory 1006. The non-transitory,computer-readable memory 1006 may include one or more application(s)1010, such as a publication application 1012. The publicationapplication 1012 may facilitate the publication of one or morecustomized advertisements 1016, such as by providing an interface (e.g.,a web page or programmatic interface), where one or more customizedadvertisements 1016 may be viewable or accessible by one or more users.The advertisement publication server 134 may also include data 1008,which may include the advertisement asset(s) 1014 and customizedadvertisements 1016. In one embodiment, the customized advertisements1016 are movies, having been rendered with a suitable video codec (ifapplicable) and/or a suitable audio codec (if applicable), where theadvertisement publication server 134 has rendered the customizedadvertisements 1016 using the advertisement asset(s) 1014 and thepreviously selected customization identifiers. Alternatively, thecustomized advertisements 1016 are provided in their initial format(e.g., as Flash object, Silverlight object, HTML5 object, etc.), and theadvertisement publication server 134 displays the customizedadvertisements 1016 with the selected customization options based on thereceived customization identifiers. In this alternative embodiment, theadvertisement publication server 134 uses reduced computing resources asit may not apply one or more video and/or audio codecs to the customizedadvertisements.

FIG. 12A-12C illustrates an exemplary logic flow for customizing a usercustomizable web advertisement according to aspects of the disclosure.Initially, a client machine may request a web page from the networkedsystem 102, such as via the web server 116 (Block 1202). However, theclient machine may also request resources via the API server 114.

It is then determined whether the client machine has provided logincredentials for the user (Block 1204). As discussed previously, theadvertisement application 132 may leverage provided login credentials todisplay and/or provide a customizable advertisement tailored to one ormore user preferences or based on a user profile. Where logincredentials have been received, the advertisement application 132 mayprocess those login credentials as discussed above (Block 1206). Wherelogin credentials have not been received, the advertisement application132 may select a customizable advertisement based on other factors, suchas the web page requested by the client machine, or may select a defaultor random customizable advertisement for display. Similarly, and asdiscussed previously, the advertisement application 132 may selectsuitable and/or appropriate customization options for the customizableadvertisement.

The advertisement application 132 then provides the customizableadvertisement and the client machine receives it accordingly (Block1208). The client machine may then display the customizableadvertisement (Block 1210). During the display of the customizableadvertisement, one or more customizable options may be displayed (Block1212). For example, and as discuss previously, a user may select acustomization portion of the customizable advertisement and one or morecustomization options for customizing the customizable portion may bedisplayed. The user may then select one or more customization options,such as by clicking the customization option with a cursor (Block 1214).In other embodiments, the user may use another input interface to selecta customization option, such as by pressing a button of a graphicalkeyboard (i.e., a “soft” keyboard). In turn, the web browser may thendisplay the customized advertisement with the selected customizationoptions (Block 1216).

It is then determined whether the display of the customizedadvertisement has finished (Block 1218). Alternatively, the user mayselect an option to indicate that he or she is done viewing thecustomized advertisement. Where the display of the customizableadvertisement is not finished, the web browser may continue its displayof the customized advertisement (Block 1220). However, after the displayof the customized advertisement, one or more publication and/sharingoptions may be displayed (Block 1222). A determination is then made asto whether the user has selected the publication option (Block 1224).Where the user has selected the publication option, the customizationoptions selected by the user may then be transmitted to theadvertisement publication server 134 so that the advertisementpublication server 134 can provide the user's version of thecustomizable advertisement (Block 1226). A determination may also bemade for whether the user has selected the sharing option (Block 1228).Where the user has selected the sharing option, the customizationoptions selected by the user may then be transmitted to theadvertisement publication server 134 as discussed previously (Block1230), but the client machine may also display or URL where the user canaccess the customized advertisement (Block 1232).

In this manner, the foregoing systems and methods provide an environmentwhere a user can engage, and be more engaged with, advertisements thatare provided in the course of the user's online experience. In addition,the technology leveraged in this environment may reduce the computingresources used by a client machine in customizing a customizableadvertisement and, further still, make it possible for the user to sharehis or her customized advertisements with other users. By publishingand/or sharing a customized advertisement, there is an increasedlikelihood that other users will view the advertised products and/orservices, which also increases the probability that a user purchases theadvertised products and/or services.

Although an embodiment has been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the present disclosure. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense. The accompanying drawings that form a parthereof show, by way of illustration, and not of limitation, specificembodiments in which the subject matter may be practiced. Theembodiments illustrated are described in sufficient detail to enablethose skilled in the art to practice the teachings disclosed herein.Other embodiments may be utilized and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. This Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separate embodiment.

What is claimed is:
 1. A computer-implemented method comprising:receiving, by at least one processor, a customizable advertisement, thecustomizable advertisement having at least one customizable portion;displaying, by a display in communication with the at least oneprocessor, a plurality of customization options for the at least onecustomizable portion; receiving, by an input interface in communicationwith the at least one processor, a selection of a customization optionfrom the plurality of customization options; applying the selectedcustomization option to the customizable portion of the customizableadvertisement; and displaying the customizable advertisement with theselected customization option.
 2. The method of claim 1, wherein the atleast one customizable portion comprises a soundtrack playable by the atleast one processor during the display of the customizableadvertisement.
 3. The method of claim 2, wherein the plurality ofcustomization options include a plurality of songs, and applying theselected customization option to the at least one customizable portionof the customizable advertisement comprises playing a song selected fromthe plurality of songs as the soundtrack for the customizableadvertisement.
 4. The method of claim 1, wherein the at least onecustomizable option comprises an animation path that a graphical elementof the customizable advertisement follows during the display of thecustomizable advertisement.
 5. The method of claim 4, wherein theplurality of customization options includes a plurality of locationswithin the customizable advertisement where the graphical element isdisplayable during the display of the customizable advertisement.
 6. Themethod of claim 1, wherein the customizable advertisement is selectedbased on one or more items being sold at an electronic marketplace thata user has previously viewed.
 7. The method of claim 1, furthercomprising: receiving a selection to publish the customizableadvertisement with the selected customization option, the selection topublish the customizable advertisement causing the at least oneprocessor to transmit which customization option was selected to apublication server, the publication server providing the customizableadvertisement with the customization option to one or more users forviewing.
 8. The method of claim 1, further comprising: receiving aselection to share the customizable advertisement with the selectedcustomization option, the selection to share the customizableadvertisement causing the at least one processor to display a UniformResource Locator where the customizable advertisement with the selectedcustomization option is accessible by one or more users.
 9. A systemcomprising: a non-transitory, computer-readable medium storingcomputer-executable instructions; and one or more processors that,having executed computer-executable instructions, are configured to:receive a customizable advertisement, the customizable advertisementhaving at least one customizable portion; display, with a display incommunication with the one or more processors, a plurality ofcustomization options for the at least one customizable portion;receive, with an input device in communication with the one or moreprocessors, a selection of a customization option from the plurality ofcustomization options; apply the selected customization option to thecustomizable portion of the customizable advertisement; and display,with the display, the customizable advertisement with the selectedcustomization option.
 10. The system of claim 9, wherein the at leastone customizable portion comprises a soundtrack playable by the one ormore processors during the display of the customizable advertisement.11. The system of claim 10, wherein the plurality of customizationoptions include a plurality of songs, and applying the selectedcustomization option to the at least one customizable portion of thecustomizable advertisement comprises playing a song selected from theplurality of songs as the soundtrack for the customizable advertisement.12. The system of claim 9, wherein the at least one customizable optioncomprises an animation path that a graphical element of the customizableadvertisement follows during the display of the customizableadvertisement.
 13. The system of claim 12, wherein the plurality ofcustomization options includes a plurality of locations within thecustomizable advertisement where the graphical element is displayableduring the display of the customizable advertisement.
 14. The system ofclaim 9, wherein the customizable advertisement is selected based on oneor more items being sold at an electronic marketplace that a user haspreviously viewed.
 15. The system of claim 9, where in the one or moreprocessors are further configured to: receive a selection to publish thecustomizable advertisement with the selected customization option, theselection to publish the customizable advertisement causing the one ormore processors to transmit which customization option was selected to apublication server, the publication server providing the customizableadvertisement with the customization option to one or more users forviewing.
 16. The system of claim 9, wherein the one or more processorsare further configured to: receive a selection to share the customizableadvertisement with the selected customization option, the selection toshare the customizable advertisement causing the one or more processorsto display a Uniform Resource Locator where the customizableadvertisement with the selected customization option is accessible byone or more users.
 17. A non-transitory machine-readable storage mediumstoring a set of instructions that, when executed by at least oneprocessor, causes the at least one processor to perform a method, themethod comprising: receiving, by at least one processor, a customizableadvertisement, the customizable advertisement having at least onecustomizable portion; displaying, by a display in communication with theat least one processor, a plurality of customization options for the atleast one customizable portion; receiving, by an input interface incommunication with the at least one processor, a selection of acustomization option from the plurality of customization options;applying the selected customization option to the customizable portionof the customizable advertisement; and displaying the customizableadvertisement with the selected customization option.
 18. Thenon-transitory, computer-readable storage medium of claim 17, wherein:the at least one customizable portion comprises a soundtrack playable bythe at least one processor during the display of the customizableadvertisement; the plurality of customization options include aplurality of songs; and applying the selected customization option tothe at least one customizable portion of the customizable advertisementcomprises playing a song selected from the plurality of songs as thesoundtrack for the customizable advertisement.
 19. The non-transitory,computer-readable storage medium of claim 17, wherein: the at least onecustomizable option comprises an animation path that a graphical elementof the customizable advertisement follows during the display of thecustomizable advertisement; and the plurality of customization optionsincludes a plurality of locations within the customizable advertisementwhere the graphical element is displayable during the display of thecustomizable advertisement.
 20. The non-transitory, computer-readablestorage medium of claim 17, wherein the method further comprises:receiving a selection to publish the customizable advertisement with theselected customization option, the selection to publish the customizableadvertisement causing the at least one processor to transmit whichcustomization option was selected to a publication server, thepublication server providing the customizable advertisement with thecustomization option to one or more users for viewing.